[INV-BACKEND-027] Создать метод CreateManualDish()
Реализация оркестратора утилизации и интеграционного моста в сервисе отходов
NoteКраткая карточка задачи
- Репозиторий / Компонент:
waste-service(Домен INVENTORY). - Контракт метода: Внутренний обработчик бизнес-логики списания отходов.
- Ссылка на Метод: Спецификация публикации фактов создания готовых блюд
- Статус: Готово к реализации
- Инструкция по шагам:
- Принять пакет данных от
backend-api. Обеспечить проброс сквозного заголовкаX-Request-ID. - На Шаге 4: Выполнить синхронный gRPC-вызов к нижележащему компоненту
fridge-service, вызвав методMutateBalancesи передав структуруspent_itemsи признакspace_type. Поток выполнения блокируется до ответа холодильника. - На Шаге 8-9: При получении успешного gRPC-статуса от
fridge-service, вернуть Gateway статус200 OKдля закрытия карточки утилизации на UI мобильного приложения. - На Шаге 10: Сразу после ответа клиенту, в асинхронном режиме (Fire-and-Forget) сформировать и отправить пакет в Kafka-топик
bpds.pma.out.process.eventс признакомevent_type: "WASTED". В Payload сообщения обязательно передать массив списанного,space_type,waste_reasonи сквознойtrace_id.
- Принять пакет данных от